Python‑i18n 多端翻译文件生成器

AI摘要

本项目 Python-i18n 是一个用 Python 编写的多端多语言资源文件生成工具。它可以读取包含 key 和多语言翻译的 Excel 表格,自动检测 key 列,跳过空行并忽略注释列,对缺失翻译内容回退到英文。脚本会一次性生成 Android 的 strings.xml、iOS 的 Localizable.strings 以及 PC 的 .ini 文件。通过统一翻译入口,避免手动维护差异,支持多语种扩展,实现从 Excel 到多端翻译文件的一键自动化生成。

https://github.com/yuuouu/Python-i18n

介绍

Python‑i18n 是一个多端翻译文件生成器,用于将产品团队维护的 Excel 多语言表格转换为各端(Android、iOS、PC)所需的翻译文件。通过统一翻译源表和输出标准,避免各端手动拷贝时产生偏差。

该项目包含以下内容:

使用方法

  1. 准备好你的翻译 Excel 文件。
  2. 安装依赖。脚本基于 pandas 和 Python 标准库:
pip install pandas openpyxl
  1. 执行脚本。例如转换示例文件到所有平台:
python3 i18n_converter.py --input sample.xlsx --output res --platforms android,ios,pc

参数说明:

  1. 输出结果:

    • Android:会在 res/values-<语言代码>/strings.xml 中生成 <string name="key">value</string>
    • iOS:生成 res/<语言代码>.lproj/Localizable.strings 文件。格式为 "key" = "value";,编码为 UTF‑8。
    • PC:生成 res/<语言代码>.ini 文件。格式为 key = "value";
  2. 重复 Key 检测:脚本会检查 key 列是否有重复。若存在重复项,将打印错误并中止输出,以便修复表格后重新执行。

示例

clone本项目后,在项目目录中运行以下命令生成翻译文件:

python3 i18n_converter.py --input sample.xlsx --output res --platforms android,ios,pc

生成的目录结构如下:

res/
├── values-es/
│   └── strings.xml
├── values-zh-CN/
│   └── strings.xml
├── values-zh-TW/
│   └── strings.xml
├── es.lproj/
│   └── Localizable.strings
├── zh-CN.lproj/
│   └── Localizable.strings
├── zh-TW.lproj/
│   └── Localizable.strings
├── es.ini
├── zh-CN.ini
└── zh-TW.ini

你可以根据实际的列名扩展支持更多语言,只需保证列名括号内包含正确的语言代码。注意,多语言列中,英语列(es)内容不允许空,在其它列内容为空的情况下默认使用英语列内容。

高阶用法

如果你使用Listary软件,那么在选项-命令中添加一条命令。
在唤起Listary之后,输入关键字fy,按回车即可静默完成翻译工作,--o "项目\res"可将生成文件直接写入到项目中,一步到位!

高阶用法

/k python3 "D:\python-i18n\i18n_converter.py"  --input "D:\python-i18n\sample.xlsx" --platforms android --o "D:\code\project\model\src\main\res"

语言代码表:http://www.lingoes.net/zh/translator/langcode.htm